<html>
	<head>
		<title>Peak detection - ADAP3D feature detection</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<link rel="stylesheet" type="text/css" href="/net/sf/mzmine/desktop/impl/helpsystem/HelpStyles.css">
    </head>

<body>

<h1 id="adap-3d-an-adaptive-algorithm-for-peak-detection-from-mass-spectrometry-based-metabolomics-data">ADAP-3D: An Adaptive Algorithm for Peak Detection from Mass Spectrometry-Based Metabolomics Data</h1>
<h2 id="introduction">Introduction</h2>
<p>ADAP-3D was originally developed by the Du-Lab research team (<a href="http://du-lab.org">http://www.du-lab.org</a>) for detecting analyte-relevant peaks from raw Mass Spectrometry Metabolomic data. ADAP-3D takes advantage of the 3D nature of raw LC/MS or GC/MS data wherein mass spectra are stored in profile rather than centroid mode. The algorithm was first prototyped by the Du-Lab research team in Python. Dharak Shah re-wrote the algorithm in Java to speed up the computation and also make it part of the MSDK library as a <strong>Google Summer of Code 2017</strong> project.</p>
<h2 id="description">Description</h2>
<p>The three dimensions of LC/MS or GC/MS data are m/z(mass to charge ratio), retention time and intensity. To detect peaks, ADAP-3D uses Continuous Wavelet transform and ridgeline detection. In addition, ADAP-3D estimates key preprocessing parameters from the data itself, making the algorithm self adaptive to the data being analyzed. ADAP-3D can accept raw data files in multiple formats including mzXML, CDF, mzML, et el. by using the existing capabilities of MSDK to import raw data.</p>
<h2 id="useful-link">Useful Link</h2>
<ol style="list-style-type: decimal">
<li><a href="https://github.com/msdk/msdk/commits?author=dharak029">Link to Commits</a></li>
<li><a href="https://github.com/msdk/msdk/pulls?q=is%3Apr+is%3Aclosed+no%3Aassignee+author%3Adharak029">Link to Pull Requests</a></li>
<li><a href="https://github.com/msdk/msdk/tree/master/msdk-featuredetection-adap3d/src/main/java/io/github/msdk/featdet/ADAP3D">Link to Code</a></li>
<li><a href="https://github.com/msdk/msdk/tree/master/msdk-featuredetection-adap3d/src/test">Link to TestCases</a></li>
<li><a href="https://github.com/msdk/msdk/blob/master/msdk-featuredetection-adap3d/ADAP3D%20Project%20Report.docx">Link to Detailed Project Report</a></li>
</ol>
<h2 id="major-challenges">Major Challenges</h2>
<ol style="list-style-type: decimal">
<li>Implementation of Sparse Matrix and it's operations.</li>
<li>Implementation of Guassian and BiGaussian fitting.</li>
</ol>
<h2 id="future-work">Future Work</h2>
<ol style="list-style-type: decimal">
<li>To make ADAP-3D more memory-efficient - Currently it is able to preprocess raw data file as big as 310 MB with Java heap size of 1 GB. It is hoped that more efficient methods can enable ADAP-3D to preprocess files of 3+ GB in size.</li>
<li>To implement a method for detecting isotopes.</li>
<li>To resample raw profile mass spectra to achieve consistent sampling across all scans.</li>
</ol>
<h2 id="notes-and-comments-from-dharak-shah">Notes and Comments from Dharak Shah</h2>
<p>&quot;For implementing ADAP-3D in Java I developed a class for sparse matrix and associated methods for different matrix operations. In addition, I developed classes for BiGaussian and Gaussian fitting. All of these developments helped me improve my coding skills. I learned a new framework of Java, new coding standard, how to code efficiently in terms of time and memory, and applied many concepts I studied in college.</p>
<p>Working with Open Chemistry was my first experience with open source software development and I really enjoyed it. I got to work with many distinguished people of the field. It was a very enriching experience, which I intend to continue participating. Thanks to all the mentors (Aleksandr Smirnov, Owen Myers, Tomas Pluskal, Adam Tenderholt, Dmitriy Avtonomov, Xiuxia Du) who helped me achieve the desired results.&quot;</p>

<br>
        
</body>
</html>
